In general, for example, in a full color printing related apparatus such as a printer, a video printer and a scanner, an image-processing apparatus for forming computer graphics images, or display devices such as monitors, a color conversion process is carried out on color data that constitute image data to be inputted to such a device.
The color conversion process in printing is an essential technique for correcting image-quality degradation caused by a color mixing property due to ink that does not have a pure color and a non-linear property of printed images and for outputting a printed image having good color reproducibility. Moreover, in a display device such as a monitor, when an image is displayed on the basis of inputted color data, a color conversion process is carried out so as to output (display) an image having desired color reproducibility in accordance with conditions of use, etc. of the device. Conventionally, with respect to the system for such a color conversion process, two kinds of systems, that is, a table conversion system and a matrix operation system, are listed.
Typical examples of the table conversion system include a three-dimensional look-up table system. In this system, for example, color data of red, green and blue or complementary color data of yellow, magenta and cyan (hereinafter, sometimes indicated as “Y, M, C”), which have been color corrected in accordance with values of color data that are subjects of color conversion represented by, for example, R, G, B (hereinafter, sometimes indicated as “R, G, B”), are preliminarily stored in a look up table that is constituted by a memory such as a ROM. When color data to be subjected to color conversion is inputted, the color data or complementary color data, which has been color-converted in accordance with the value, is extracted from a look up table, and outputted. In this method, the color data or complementary color data to be stored in the look up table is selected and adjusted so that a desired conversion characteristic can be adopted; thus, the resulting advantage is that it becomes possible to carry out a color conversion process that is superior in color reproducibility.
However, in such a simple arrangement in which data that has been color-converted on the basis of each of combinations of inputted color data is stored, the look up table requires a large capacity memory of approximately 400 Mbit. For example, Japanese Patent Application Laid-Open No. 63-227181 (1988) has disclosed a compression method of a memory capacity; however, even in this method, a memory as great as approximately 5 Mbit is required. Therefore, this system has problems in that, since a large capacity memory is required, it is not possible to constitute the color converter by using LSIs, and in that it is difficult to allow data that is stored in the memory to flexibly adapt to a change in conditions in use, etc.
Moreover, in the matrix operation system, for example, in the case where, on the basis of image data having the first color data, Ri, Gi, Bi, to be subjected to color conversion, the second color data Ro, Go, Bo that have been color-converted are found, the following equation (1) serves as a basic operation expression.
                              [                                                                      R                  ⁢                                                                          ⁢                  o                                                                                                      G                  ⁢                                                                          ⁢                  o                                                                                                      B                  ⁢                                                                          ⁢                  o                                                              ]                =                              (                          A              ⁢                                                          ⁢              i              ⁢                                                          ⁢              j                        )                    ⁡                      [                                                                                R                    ⁢                                                                                  ⁢                    i                                                                                                                    G                    ⁢                                                                                  ⁢                    i                                                                                                                    B                    ⁢                                                                                  ⁢                    i                                                                        ]                                              Equation        ⁢                                  ⁢                  (          1          )                    
In equation (1), Aij represents a coefficient matrix, and in Aij, i=1 to 3 and j=1 to 3. As indicated by equation (1), this system makes it possible to calculate the second color data by carrying out the matrix operation on the first color data; therefore, different from the above-mentioned table conversion system, it is not necessary to store data that corresponds to each of combinations of inputted color data. Thus, it becomes possible to avoid the problem caused by the necessity of a large capacity memory such as seen in the table conversion system.
Here, in general, desired color reproduction by the use of color conversion includes “faithful color reproduction” and “preferable color reproduction”. “Faithful color reproduction” refers to color reproduction that is faithful to an actual color, and with respect to a method for achieving this reproduction, the standard such as NTSC and sRGB may be used or a color reproducing process may be carried out by using standard color spaces. In contrast, “preferable color reproduction” refers to color reproduction in which human visual sensation characteristics and color memory are taken into consideration, that is, color reproduction which is desirably sensed by the human being; thus, this is not necessarily coincident with “faithful color reproduction”.
For example, in the case of color reproduction in displayed TV images, in most cases, “preferable color reproduction” is carried out. In the color memory of the human being, for example, the color of the sky and the color of green lawn tend to be memorized with colors that are clearer, and have higher saturation than the actual colors. Therefore, in order to achieve “preferable color reproduction”, in general, a color conversion process is carried out in a manner so as to make the saturation of a color higher than the inputted color data. In the faithful color reproduction also, there are many cases in which a color conversion process is carried out in a manner so as to make the saturation of a color higher than the inputted color data.
Moreover, the color data to be inputted to an image display apparatus or the like is not necessarily coincident with the original color data that is generated by a color-data generating device such as a camera. This is because color data is subjected to various noises while it is transmitted.
For example, suppose that the original color data, generated by a camera, are transmitted through a transfer path, and inputted to an image display device. Here, it is assumed that the original color data outputted from the camera are Rs, Gs, Bs that are respective color data representing red, green and blue. Further, it is assumed that the color data to be inputted to an image display device through the transfer path are Ri, Gi, Bi. In other words, if the color data are not subjected to influences of noise through the transfer path and if the transmitting and receiving sequences at the time of the transfer process are carried out correctly, Rs=Ri, Gs=Gi and Bs=Bi are supposed to be satisfied.
However, in the actual transfer path, the data are susceptible to influences from noise. Moreover, any error might occur in the transmitting and receiving sequences. In this case, supposing that noise components including noise and errors that give influences on the respective color data of red, green and blue are Rn, Gn, Bn, the color data Ri, Gi, Bi to be inputted to the image display device are represented by Ri=Rs+Rn, Gi=Gs+Gn and Bi=Bs+Bn. In other words, the color data Ri, Gi, Bi to be inputted to the image display device are represented by sums between the original color data components, Rs, Gs, Bs, and the noise components, Rn, Gn, Bn.
FIG. 24 shows an example of the original color data components, Rs, Gs, Bs, noise components, Rn, Gn, Bn and color data components Ri, Gi, Bi to be inputted to the image display device, in the case where the noise components are smaller than the original color data components. In this Figure, the axis of ordinates represents the size of signals. Here, it is assumed that each of the color data components representing red, green and blue and the noise components is represented by an integer in a range of 0 to 255. Moreover, FIG. 24(a) shows the original color data components, Rs, Gs, Bs, generated by a camera or the like, in which Rs=192, Gs=64 and Bs=64. FIG. 24(b) shows an example of the noise components, Rn, Gn, Bn, in which Rn=8, Gn=8 and Bn=24. FIG. 24(c) shows the color data components Ri, Gi, Bi to be inputted to the image display device at this time. As described above, Ri, Gi, Bi of FIG. 24(c) are obtained from the sums of Rs, Gs, Bs shown in FIG. 24(a) and Rn, Gn, Bn shown in FIG. 24(b), so that Ri=200, Gi=72 and Bi=88.
As indicated by FIG. 24(a), the original color data, Rs, Gs, Bs, exhibit a red color in this example. In contrast, it is found that the color data, Ri, Gi, Bi, to be inputted to the image display device, shown in FIG. 24(c), exhibit a slightly bluish red color due to the influences of noise components Rn, Gn, Bn.
Moreover, FIG. 25 shows an example of the original color data components, Rs, Gs, Bs, noise components, Rn, Gn, Bn and color data components Ri, Gi, Bi to be inputted to the image display device, in the case where the noise components are greater than the original color data components (that is, the case when the original color data components are smaller). In this Figure also, the axis of ordinates represents the size of signals. Furthermore, FIG. 25(a) shows an example of the original color data components, Rs, Gs, Bs, in which Rs=24, Gs=8 and Bs=8. FIG. 25(b) shows an example of the noise components, Rn, Gn, Bn, in which Rn=8, Gn=8 and Bn=24 in the same manner as FIG. 24(b). FIG. 25(c) shows the color data components Ri, Gi, Bi to be inputted to the image display device at this time, and these are represented by the sums of Rs, Gs, Bs shown in FIG. 25(a) and Rn, Gn, Bn, shown in FIG. 25(b), so that Ri=32, Gi=16 and Bi=32.
The original color data components Rs, Gs, Bs, shown in FIG. 25(a), exhibit a red color. In contrast, the color data, Ri, Gi, Bi, to be inputted to the image display device shown in FIG. 25(c), have the blue color component of color data emphasized due to the influences of noise components Rn, Gn, Bn, thereby exhibiting a magenta color with a great change in the hue.
As indicated by the comparison between FIG. 24 and FIG. 25, when the noise components become greater than the original color data components, changes in characteristics (hue, brightness, saturation and the like) between the original color data and color data to be inputted to the image display device become greater due to influences by noise components. In other words, when the values of the original color data components, Rs, Gs, Bs, are small, as in the case of color data in a dark portion of an image, that is, when the brightness of the original color data is low, the influences of the noise components Rn, Gn, Bn become very strong.
Here, the following description will discuss a case in which, in order to achieve “preferable color reproduction” in an image display device, a color conversion process is carried out on each of inputted color data Ri=Rs+Rn, Gi=Gs+Gn and Bi=Bs+Bn by using a matrix operation system so as to increase the saturation of color. In this case, as indicated by the above-mentioned equation (1), simultaneously as the color conversion process for increasing the saturation is carried out on each of the original color data Rs, Gs, Bs, it is also carried out on each of the noise components Rn, Gn, Bn. In other words, when the color conversion process for increasing the saturation is carried out on each of the color data Ri, Gi, Bi containing noise components Rn, Gn, Bn, both of the saturation of the original color data components Rs, Gs, Bs and the saturation of the noise components Rn, Gn, Bn are increased.
Therefore, in particular, in the case where the original color data components Rs, Gs, Bs are small with the noise components, Rn, Gn, Bn, being relatively great, such a color conversion process mainly increases the saturation of each of the noise components Rn, Gn, Bn. In other words, the color conversion process tends to greatly emphasize the influences from noise and errors. The resulting problem is that in the color conversion device using the matrix operation system, influences from noise and influences from errors relating to transmitting and receiving processes become conspicuous in a portion having a low brightness in each of the original color data components Rs, Gs, Bs, that is, in a dark portion of an image.
As described above, in particular, in the case of a color conversion process that is carried out on color data at a portion in which the original color data components are small with low brightness, careful consideration should be given so as not to emphasize the influences of noise and the influences of errors relating to transmitting and receiving processes. However, in the conventional color converting method using the matrix operation system as defined by the above-mentioned equation (1), since no consideration is given to the characteristics such as brightness of color data to be inputted to the image display device, it is not possible to solve the problem in which the influences of noise components become conspicuous at a dark portion in an image.
The following description will discuss a color converter using the conventional matrix operation system. FIG. 26 shows a block diagram showing the configuration of a color converter using the conventional matrix operation system. In FIG. 26, reference numeral 101 is color correction amount calculation means, and 102 is color correction amount addition means.
The above-mentioned equation (1) is also represented by the following equation (2), and its color conversion process is achieved by the arrangement of the color converter shown in FIG. 26.
                                                                        [                                                                                                    R                        ⁢                                                                                                  ⁢                        o                                                                                                                                                G                        ⁢                                                                                                  ⁢                        o                                                                                                                                                B                        ⁢                                                                                                  ⁢                        o                                                                                            ]                            =                            ⁢                                                                    [                                                                                            1                                                                          0                                                                          0                                                                                                                      0                                                                          1                                                                          0                                                                                                                      0                                                                          0                                                                          1                                                                                      ]                                    ⁡                                      [                                                                                                                        R                            ⁢                                                                                                                  ⁢                            i                                                                                                                                                                            G                            ⁢                                                                                                                  ⁢                            i                                                                                                                                                                            B                            ⁢                                                                                                                  ⁢                            i                                                                                                                ]                                                  +                                                      (                                          A1                      ⁢                                                                                          ⁢                      i                      ⁢                                                                                          ⁢                      j                                        )                                    ⁡                                      [                                                                                                                        R                            ⁢                                                                                                                  ⁢                            i                                                                                                                                                                            G                            ⁢                                                                                                                  ⁢                            i                                                                                                                                                                            B                            ⁢                                                                                                                  ⁢                            i                                                                                                                ]                                                                                                                          =                            ⁢                                                [                                                                                                              R                          ⁢                                                                                                          ⁢                          i                                                                                                                                                              G                          ⁢                                                                                                          ⁢                          i                                                                                                                                                              B                          ⁢                                                                                                          ⁢                          i                                                                                                      ]                                +                                                      (                                          A1                      ⁢                                                                                          ⁢                      i                      ⁢                                                                                          ⁢                      j                                        )                                    ⁡                                      [                                                                                                                        R                            ⁢                                                                                                                  ⁢                            i                                                                                                                                                                            G                            ⁢                                                                                                                  ⁢                            i                                                                                                                                                                            B                            ⁢                                                                                                                  ⁢                            i                                                                                                                ]                                                                                                          Equation        ⁢                                  ⁢                  (          2          )                    In the coefficient matrix A1ij in equation (2), i=1 to 3, and j=1 to 3.
The first color data Ri, Gi, Bi that are subjected to color conversion are inputted to the color correction amount calculation means 101. In the color correction amount calculation means 101, color correction amounts R1a, G1a, B1a that correspond to the first color data Ri, Gi, Bi are calculated through a linear operation shown in the following equation (3), and the resulting values are outputted to the color correction amount addition means 102.
                              [                                                    R1a                                                                    G1a                                                                    B1a                                              ]                =                              (                          A1              ⁢                                                          ⁢              i              ⁢                                                          ⁢              j                        )                    ⁡                      [                                                                                R                    ⁢                                                                                  ⁢                    i                                                                                                                    G                    ⁢                                                                                  ⁢                    i                                                                                                                    B                    ⁢                                                                                  ⁢                    i                                                                        ]                                              Equation        ⁢                                  ⁢                  (          3          )                    
Moreover, the first color data Ri, Gi, Bi are also inputted to the color correction amount addition means 102. The color correction amount addition means 102 adds the color data Ri, Gi, Bi and the color correction amounts R1a, G1a, B1a, and outputs the resulting second color data Ro, Go, Bo after the color conversion. Here, as described above, in the conventional color-conversion device, upon calculation of the color correction amounts R1a, G1a, B1a by the color correction amount calculation means 101, the characteristics such as brightness of the first color data Ri, Gi, Bi to be inputted thereto are not taken into consideration.
In this manner, in the color converter using the conventional matrix operation system, the color conversion process is carried out without taking the characteristics such as brightness of the first color data Ri, Gi, Bi to be inputted to the device into consideration. For this reason, the same color conversion process is carried out in both of the cases in which, for example, color data components are small with influences of noise components being strongly exerted thereon and in which color data components are great with influences of noise components being weakly exerted on color data. Thus, when a color conversion process for increasing the saturation of the color data is carried out, that is, when a color-emphasizing process is carried out, the influences are further emphasized at a dark portion of the image that is seriously susceptible to the influences of noise components. For this reason, instead of improving the image, the color-conversion process causes a defective image to be displayed on an image display device or the like.
Another problem is that since the color-conversion process is carried out without taking the characteristics of the first color data Ri, Gi, Bi to be inputted to the color converter into consideration, so-called “damaged color” in which fine color differences disappear in bright colors due to the color conversion tends to occur. Referring to specific examples, the following description will discuss this problem in detail. In the following description, it is assumed that respective color data components are represented by integers in a range from 0 to 255, and that in the results of matrix calculations, first decimal in color data is rounded to the nearest whole number.
Here, in a coefficient matrix in the operation carried out by the color correction amount calculation means 101 of the color converter shown in FIG. 26, that is, the coefficient matrix A1ij in the above-mentioned equations (2) and (3), is represented by values shown in the following equation (4).
                              (                      A1            ⁢                                                  ⁢            i            ⁢                                                  ⁢            j                    )                =                  [                                                    0.2                                                              -                  0.1                                                                              -                  0.1                                                                                                      -                  0.1                                                            0.2                                                              -                  0.1                                                                                                      -                  0.1                                                                              -                  0.1                                                            0.2                                              ]                                    Equation        ⁢                                  ⁢                  (          4          )                    
In this case, for example, when Ri=230, Gi=20, Bi=20 are inputted as the first color data, the results of calculations are Ro=272, Go=−1, Bo=−1, if no limitation is given to the range in which the second color data Ro, Go, Bo are located. However, since Ro, Go, Bo are integers in the range of 0 to 255, the second color data to be actually outputted from the color converter are: Ro=255, Go=0, Bo=0.
Moreover, when the first color data, Ri=240, Gi=15, Bi=15, are inputted, Ro=285, Go=−8, Bo=−8 are supposed to be given, if no limitation is given to the range in which the second color data Ro, Go, Bo are located. However, since the second color data, Ro, Go, Bo are integers in the range of 0 to 255, the actual values are: Ro=255, Go=0, Bo=0.
In this manner, in the conventional color converter, the values of the second color data, obtained in the case where the first color data, Ri=230, Gi=20, Bi=20, are inputted, become the same as the values of the second color data obtained in the case where the first color data, Ri=240, Gi=15, Bi=15 are inputted. In other words, in both of the cases in which Ri=230, Gi=20, Bi=20 and in which Ri=240, Gi=15, Bi=15, the same color is displayed on the image display device, failing to express the difference in colors originally exists between the two data.
As described above, when the color conversion process is carried out on the basis of the matrix operation system without taking the characteristics of the color data Ri, Gi, Bi to be inputted to the device into consideration, damaged color in which fine color differences disappear in colors having high brightness tends to occur.
Moreover, this damaged color also tends to occur when a color conversion process for further enhancing the saturation of a color is carried out on color data that is originally high in the saturation. Referring to specific examples, the following description will discuss this problem.
The saturation Sat of color data represented by, for example, R, G, B, is defined by the following equation (5) by using MAX (R, G, B) that are maximum values of R, G, B and MIN (R, G, B) that are the minimum values thereof.sat=(MAX(R,G,B)−MIN(R,G,B))/MAX(R,G,B)  Equation (5)
Supposing that R, G, B are represented by integers from 0 to 255, the mono-color of red is represented by R=255, G=0, B=0, with its saturation being represented by Sat=1. Moreover, white is represented by R=255, G=255, B=255, with its saturation being represented by Sat=0. As also indicated by equation (5), in an attempt to enhance the saturation Sat, it is proposed to increase the value of MAX (R, G, B)−MIN(R, G, B).
Therefore, the saturation Sati of Ri, Gi, Bi to be inputted to the image display device is represented by the following equation (6) on the basis of the definition of equation (5):sati=(MAX(Ri,Gi,Bi)−MIN(Ri,Gi,Bi))/MAX(Ri,Gi,Bi)  Equation (6)
In the same manner, the saturation Sato of color data Ro, Go, Bo to be obtained by a color conversion process is represented by the following equation (7):sato=(MAX(Ro,Go,Bo)−MIN(Ro,Go,Bo))/MAX(Ro,Go,Bo)  Equation (7)
Here, in an attempt to increase the saturation of color data after color conversion by the color converter shown in FIG. 26, the coefficient matrix A1ij of the above-mentioned equation (2) is set to values indicated by the following equation (8).
                              (                      A1            ⁢                                                  ⁢            i            ⁢                                                  ⁢            j                    )                =                  [                                                    0.2                                                              -                  0.2                                                                              -                  0.2                                                                                                      -                  0.2                                                            0.2                                                              -                  0.2                                                                                                      -                  0.2                                                                              -                  0.2                                                            0.2                                              ]                                    Equation        ⁢                                  ⁢                  (          8          )                    
In this case, suppose that, for example, Ri=255, Gi=128, Bi=128 are inputted to the converter shown in FIG. 26 as the first color data. At this time, the outputted second color data are represented by Ro=255, Go=77, Bo=77. In this case, the saturation Sati of the first color data Ri, Gi, Bi is approximately 0.5 on the basis of the above-mentioned equation (6), and the saturation Sato of the second color data Ro, Go, Bo is 0.7 on the basis of the above-mentioned equation (7). In other words, the saturation of the color data is enhanced by the color conversion process.
Here, suppose that the first color data, Ri=255, Gi=26, Bi=26 are inputted. At this time, the saturation Sati of the first color data Ri, Gi, Bi is 0.9. In this case, if no limitation is given to the range in which Ro, Go, Bo are located, the second color data are represented by Ro=296, Go=−25, Bo=−25. However, since Ro, Go, Bo are integers in the range of 0 to 255, the second color data are actually outputted as Ro=255, Go=0, Bo=0.
Moreover, suppose that the first color data, Ri=255, Gi=51, Bi=51 are inputted. At this time, the saturation Sati of the first color data Ri, Gi, Bi is 0.8. In this case, if no limitation is given to the range in which Ro, Go, Bo are located, the second color data are represented by Ro=286, Go=0, Bo=0. However, since Ro, Go, Bo are integers in the range of 0 to 255, the second color data are actually outputted as Ro=255, Go=0, Bo=0.
In this manner, the values of the second color data Ro, Go, Bo obtained in the case where the first color data are Ri=255, Gi=26, Bi=26 are the same as those values of the second color data Ro, Go, Bo obtained in the case where the first color data are Ri=255, Gi=51, Bi=51. In other words, in both of the cases in which Ri=255, Gi=26 and Bi=26 and in which Ri=255, Gi=51 and Bi=51, the same color is displayed on the image display device, failing to express a difference in colors that the two data originally have.
As described in the above-mentioned examples, when the color-conversion process is carried out by using a matrix operation system, without taking the characteristics of color data Ri, Gi, Bi to be inputted to the color converter into consideration, damaged color in which fine color differences disappear in colors with high saturation tends to occur.
As described above, the following problems have been raised in the conventional color converter. First, in the case where a color converter is arranged by a table conversion system using a memory such as a ROM, a large capacity memory is required, and the resulting problems are that it is not possible to constitute the color converter by using LSIs, and that it is not possible to flexibly change the conversion characteristics.
Here, in the case where the color converter is arranged by using a matrix operation system, it is not necessary to store data with a large capacity, making it possible to avoid problems that have been caused by the necessity of a large capacity memory in the color converter in the table conversion system. However, when a color conversion process for enhancing the saturation of the color data is carried out, problems tend to arise, in which: influences of noise components are further emphasized in the case of color data that have low brightness and are susceptible to the influences of noise components, or damaged color which fails to express fine color differences in colors having high brightness or in colors having high saturation tends to occur.